//
// Created by Nasa on 2024-2-7.
//https://www.luogu.com.cn/problem/B3927#submit
//PASS
/*
3.1 编程题 1
试题名称：小杨的字典
        时间限制：1.0 s
        内存限制：128.0 MB
3.1.1 问题描述
        在遥远的星球，有两个国家 A 国和 B 国，他们使用着不同的语言：A 语言和 B 语言。小杨是 B 国的翻译官，他的工作是将 A 语言的文章翻译成 B 语言的文章。
为了顺利完成工作，小杨制作了一本字典，里面记录了 个 A 语言单词对应的 B 语言单词，巧合的是，这些单词都由地球上的 26 个小写英文字母组成。
小杨希望你写一个程序，帮助他根据这本字典翻译一段 A 语言文章。这段文章由标点符号 !()-[]{}\|;:'",./?
<> 和一些 A 语言单词构成，每个单词之间必定由至少一个标点符号分割，你的程序需要把这段话中的所有 A 语言
单词替换成它的 B 语言翻译。特别地，如果遇到不在字典中的单词，请使用大写 UNK 来替换它。
例如，小杨的字典中包含 2 个 A 语言单词 abc 和 d ，它们的 B 语言翻译分别为 a 和 def ，那么我们可以把 A
语言文章 abc.d.d.abc.abcd. 翻译成 B 语言文章 a.def.def.a.UNK. ，其中，单词 abcd 不在词典内，因此我
们需要使用 UNK 来替换它。
3.1.2 输入描述
        第一行一个整数 N，表示词典中的条目数。保证N<=100 。
接下来 N行，每行两个用单个空格隔开的字符串A,B ，分别表示字典中的一个 A 语言单词以及它对应的 B 语言翻译。保证所有 A不重复；保证A 和 B的长度不超过10 。
最后一行一个字符串 S，表示需要翻译的 A 语言文章。保证字符串S 的长度不超过1000 ，保证字符串S 只包含小写
字母以及标点符号 !()-[]{}\|;:'",./?<> 。
3.1.3 输出描述
        输出一行，表示翻译后的结果。

input1:
2
abc a
d def
abc.d.d.abc.abcd.
output1:
a.def.def.a.UNK.

input2:
3
abc a
d def
abcd xxxx
abc,(d)d!-abc?abcd
output2:
a,(def)def!-a?xxxx

input3:
1
abcdefghij klmnopqrst
!()-[]{\|;:",./?<>abcdefghijklmnopqrstuvwxyz
output3:
 !()-[]{}\|;:'",./?<>UNK
*/

#include <iostream>

using namespace std;


bool is_in(char x)
{
    bool bd = false;
    string b = "!()-[]{}\\|;:'\",./?<>";  //b是标点符号
    for (char j : b)
    {
        if (x == j)
        {
            bd = true;
            break;
        }
    }
    return bd;
}

int main()
{

    int n;
    cin >> n;
    string l1[n], l2[n];
    string s, a;  //a是每一个单词
    bool unk;
    for (int i = 0; i < n; ++i)
    {
        cin >> l1[i];
        cin >> l2[i];
    }
    cin >> s;
    for (int i = 0; i < s.size(); ++i)
    {
        if (is_in(s[i]) == 0)
        {
            a += s[i];
        }
        if ((is_in(s[i]) == 1 || i == s.size() - 1))
        {
            unk = true;
            for (int j = 0; j < n; ++j)
            {
                if (l1[j] == a)
                {
                    unk = false;
                    cout << l2[j];
                }
            }
            if (unk && a != "")
            {
                cout << "UNK";
            }
            if (is_in(s[i]) == 1)
            {
                cout << s[i];
            }
            a = "";
        }
    }
    return 0;
}